<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />

<title>classpath.echo</title>
</head>
<body>

<h2><a name="classpath.echo">classpath.echo</a></h2>
<p>
The <code>classpath.echo</code> task produces a simple ascii tree representing
the hierarchy of classpath dependencies for a project.
</p>
<p>
In the output, the <code>classpath.echo</code> task will enclose
the names of classpath entries in parentheses if it has previously
encountered the entries on the classpath; it will not traverse such
entries after the first encounter. The name of each classpath entry
will be preceded with the 
<a href="classpath.files.html#classpath_entry_kind"><dfn>kind</dfn></a>
of entry in brackets. For <a href="classpath.files.html#kind.container">
classpath containers</a>, the kind of container will also be indicated.
This will be one of:
</p>
<table class="simplelist">
	<tr>
		<td valign="top"><code>application</code></td>
		<td>
			A container that maps to an application library &ndash; e.g. a User Library
			added by the user.
		</td>
	</tr>
	<tr>
		<td valign="top"><code>system</code></td>
		<td>
			A container that maps to a system library.
		</td>
	</tr>
	<tr>
		<td valign="top"><code>default-system</code></td>
		<td>
			A container that maps to a default system library, implicitly contributed by the runtime.
		</td>
	</tr>
</table>
<p>
These are the only valid kinds of containers. If a container is of an invalid kind, this task will
output a question mark "<code>?</code>" followed by the numeric code returned by the container.
</p>
<p>
So, for example:
</p>
<blockquote><pre>
[con:default-system] org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-6
</pre></blockquote>
<p>
indicates a default system library, in this case a JRE library provided by Eclipse, whereas:
</p>
<blockquote><pre>
[con:?(code=0)] ...
</pre></blockquote>
<p>
indicates a container reporting an invalid <dfn>container kind</dfn> for itself (with a code of <code>0</code>).
</p>
<p>
The <code>classpath.echo</code> task is intended principally as a debugging tool.
It can aid the developer in determining the appropriate 
<a href="classpath.files.html#nested_select">selection criteria</a>
to use for a <a href="classpath.files.html#classpath.files">classpath.files</a>
element.
</p>

<table border="1" cellpadding="2" cellspacing="0">
  <tr>
    <th valign="top">Attribute</th>
    <th valign="top">Description</th>
    <th align="center" valign="top">Required</th>
  </tr>
  <tr>
    <td valign="top">exportedonly</td>
    <td valign="top">
    	If false, all classpath entries are included.
    	If true, for dependent projects, only exported classpath entries are included.
    </td>
    <td valign="top" align="center">No; defaults to false.</td>
  </tr>
  <tr>
    <td valign="top">failonerror</td>
    <td valign="top">
    	If false, log a warning message, but do not stop execution if an error occurs.
    	If true, an exception is thrown when an error occurs.
    </td>
    <td valign="top" align="center">No; defaults to true.</td>
  </tr>
  <tr>
    <td valign="top">project</td>
    <td valign="top">Specifies the project on which to report.</td>
    <td valign="top" align="center" rowspan="2">
    	No; defaults to the project containing the invoked Ant buildfile.
    </td>
  </tr>
</table>

</body>
</html>